[INFO] cloning repository https://github.com/Auxlo-xyz/auxloclaw
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Auxlo-xyz/auxloclaw" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAuxlo-xyz%2Fauxloclaw", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAuxlo-xyz%2Fauxloclaw'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d90a57cba644192cfff7a9189ee469f236c611d0
[INFO] checking Auxlo-xyz/auxloclaw against master#029c9e18dd1f4668e1d42bb187c1c263dfe20093 for pr-157562
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAuxlo-xyz%2Fauxloclaw" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Auxlo-xyz/auxloclaw
[INFO] finished tweaking git repo https://github.com/Auxlo-xyz/auxloclaw
[INFO] tweaked toml for git repo https://github.com/Auxlo-xyz/auxloclaw written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Auxlo-xyz/auxloclaw on toolchain 029c9e18dd1f4668e1d42bb187c1c263dfe20093
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+029c9e18dd1f4668e1d42bb187c1c263dfe20093" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Auxlo-xyz/auxloclaw already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+029c9e18dd1f4668e1d42bb187c1c263dfe20093" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded uuid v1.23.2
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.122
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.122
[INFO] [stderr]   Downloaded num-conv v0.2.2
[INFO] [stderr]   Downloaded wasm-bindgen-futures v0.4.72
[INFO] [stderr]   Downloaded teloxide-macros v0.7.1
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.122
[INFO] [stderr]   Downloaded tracing-appender v0.2.5
[INFO] [stderr]   Downloaded cron v0.12.1
[INFO] [stderr]   Downloaded bitflags v2.12.1
[INFO] [stderr]   Downloaded log v0.4.31
[INFO] [stderr]   Downloaded teloxide v0.12.2
[INFO] [stderr]   Downloaded typesize v0.1.15
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.122
[INFO] [stderr]   Downloaded tokio-cron-scheduler v0.10.2
[INFO] [stderr]   Downloaded triomphe v0.1.15
[INFO] [stderr]   Downloaded cc v1.2.63
[INFO] [stderr]   Downloaded zerocopy-derive v0.8.50
[INFO] [stderr]   Downloaded command_attr v0.5.4
[INFO] [stderr]   Downloaded tower-http v0.3.5
[INFO] [stderr]   Downloaded eventsource-stream v0.2.3
[INFO] [stderr]   Downloaded js-sys v0.3.99
[INFO] [stderr]   Downloaded dialoguer v0.11.0
[INFO] [stderr]   Downloaded http v1.4.1
[INFO] [stderr]   Downloaded reqwest-eventsource v0.6.0
[INFO] [stderr]   Downloaded futures-timer v3.0.4
[INFO] [stderr]   Downloaded headers-core v0.3.0
[INFO] [stderr]   Downloaded axum-macros v0.4.2
[INFO] [stderr]   Downloaded axum-extra v0.9.6
[INFO] [stderr]   Downloaded rusqlite v0.28.0
[INFO] [stderr]   Downloaded headers v0.4.1
[INFO] [stderr]   Downloaded teloxide-core v0.9.1
[INFO] [stderr]   Downloaded h2 v0.4.14
[INFO] [stderr]   Downloaded zerocopy v0.8.50
[INFO] [stderr]   Downloaded serenity v0.12.5
[INFO] [stderr]   Downloaded web-sys v0.3.99
[INFO] [stderr]   Downloaded libsqlite3-sys v0.25.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3e793bdf10248eb2ddbd6b0faebed8155c11b4589982e2893733958d93e8d540" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 604f2c29be5d0a6992a9d90c74dcc26bdb62b09e808103cb3ba1fadd06fd4b98
[INFO] running `Command { std: "docker" "start" "604f2c29be5d0a6992a9d90c74dcc26bdb62b09e808103cb3ba1fadd06fd4b98", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "604f2c29be5d0a6992a9d90c74dcc26bdb62b09e808103cb3ba1fadd06fd4b98" "/opt/rustwide/cargo-home/bin/cargo" "+029c9e18dd1f4668e1d42bb187c1c263dfe20093" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "604f2c29be5d0a6992a9d90c74dcc26bdb62b09e808103cb3ba1fadd06fd4b98", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "604f2c29be5d0a6992a9d90c74dcc26bdb62b09e808103cb3ba1fadd06fd4b98" "/opt/rustwide/cargo-home/bin/cargo" "+029c9e18dd1f4668e1d42bb187c1c263dfe20093" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]     Checking itoa v1.0.18
[INFO] [stderr]     Checking memchr v2.8.1
[INFO] [stderr]     Checking log v0.4.31
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling cc v1.2.63
[INFO] [stderr]    Compiling zerocopy v0.8.50
[INFO] [stderr]     Checking hashbrown v0.17.1
[INFO] [stderr]     Checking generic-array v0.14.7
[INFO] [stderr]    Compiling zerocopy-derive v0.8.50
[INFO] [stderr]    Compiling displaydoc v0.2.6
[INFO] [stderr]     Checking zerofrom v0.1.8
[INFO] [stderr]     Checking writeable v0.6.3
[INFO] [stderr]     Checking litemap v0.8.2
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling icu_properties_data v2.2.0
[INFO] [stderr]    Compiling icu_normalizer_data v2.2.0
[INFO] [stderr]     Checking rustls-pki-types v1.14.1
[INFO] [stderr]     Checking yoke v0.8.2
[INFO] [stderr]     Checking http v1.4.1
[INFO] [stderr]     Checking http v0.2.12
[INFO] [stderr]     Checking zerovec v0.11.6
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]     Checking bitflags v2.12.1
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]     Checking either v1.16.0
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]    Compiling rustls v0.23.40
[INFO] [stderr]     Checking data-encoding v2.11.0
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking webpki-roots v1.0.7
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling rustls v0.22.4
[INFO] [stderr]    Compiling erasable v1.3.0
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]    Compiling pin-project-internal v1.1.13
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking http-body v0.4.6
[INFO] [stderr]     Checking zerotrie v0.2.4
[INFO] [stderr]     Checking tinystr v0.8.3
[INFO] [stderr]     Checking potential_utf v0.1.5
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]     Checking icu_collections v2.2.0
[INFO] [stderr]     Checking indexmap v2.14.0
[INFO] [stderr]     Checking inout v0.1.4
[INFO] [stderr]     Checking icu_locale_core v2.2.0
[INFO] [stderr]    Compiling axum-core v0.3.4
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling axum v0.6.20
[INFO] [stderr]    Compiling multer v3.1.0
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking mio v1.2.1
[INFO] [stderr]     Checking socket2 v0.6.4
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]     Checking socket2 v0.5.10
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking uuid v1.23.2
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling libsqlite3-sys v0.25.2
[INFO] [stderr]     Checking simd-adler32 v0.3.9
[INFO] [stderr]     Checking num-conv v0.2.2
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]     Checking linux-raw-sys v0.12.1
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking universal-hash v0.5.1
[INFO] [stderr]     Checking tokio v1.52.3
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]     Checking fastrand v2.4.1
[INFO] [stderr]     Checking clap_builder v4.6.0
[INFO] [stderr]     Checking polyval v0.6.2
[INFO] [stderr]    Compiling itertools v0.9.0
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking icu_provider v2.2.0
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking rc-box v1.3.0
[INFO] [stderr]     Checking dirs-sys v0.3.7
[INFO] [stderr]     Checking pin-project v1.1.13
[INFO] [stderr]     Checking rayon v1.12.0
[INFO] [stderr]     Checking headers-core v0.3.0
[INFO] [stderr]     Checking webpki-roots v0.26.11
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]    Compiling axum-macros v0.4.2
[INFO] [stderr]     Checking icu_properties v2.2.0
[INFO] [stderr]     Checking icu_normalizer v2.2.0
[INFO] [stderr]     Checking plotters-backend v0.3.7
[INFO] [stderr]    Compiling tokio-cron-scheduler v0.10.2
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]     Checking serde_path_to_error v0.1.20
[INFO] [stderr]     Checking deranged v0.5.8
[INFO] [stderr]     Checking http-range-header v0.3.1
[INFO] [stderr]    Compiling serenity v0.12.5
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]     Checking toml_write v0.1.2
[INFO] [stderr]    Compiling aquamarine v0.1.12
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking chrono v0.4.44
[INFO] [stderr]     Checking toml_datetime v0.6.11
[INFO] [stderr]     Checking tracing-serde v0.2.0
[INFO] [stderr]     Checking serde_spanned v0.6.9
[INFO] [stderr]     Checking clap v4.6.1
[INFO] [stderr]     Checking serde_cow v0.1.2
[INFO] [stderr]     Checking secrecy v0.8.0
[INFO] [stderr]     Checking arrayvec v0.7.6
[INFO] [stderr]     Checking toml_edit v0.22.27
[INFO] [stderr]     Checking idna_adapter v1.2.2
[INFO] [stderr]     Checking eventsource-stream v0.2.3
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]    Compiling teloxide-macros v0.7.1
[INFO] [stderr]     Checking futures-executor v0.3.32
[INFO] [stderr]     Checking time v0.3.47
[INFO] [stderr]     Checking axum-core v0.4.5
[INFO] [stderr]     Checking futures v0.3.32
[INFO] [stderr]     Checking dptree v0.3.0
[INFO] [stderr]     Checking tower-http v0.3.5
[INFO] [stderr]     Checking tempfile v3.27.0
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]     Checking console v0.15.11
[INFO] [stderr]     Checking dirs v2.0.2
[INFO] [stderr]     Checking dirs-sys v0.4.1
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]     Checking plotters-svg v0.3.7
[INFO] [stderr]     Checking flate2 v1.1.9
[INFO] [stderr]     Checking headers v0.4.1
[INFO] [stderr]     Checking cron v0.12.1
[INFO] [stderr]     Checking ghash v0.5.1
[INFO] [stderr]     Checking ctr v0.9.2
[INFO] [stderr]     Checking aes v0.8.4
[INFO] [stderr]     Checking aead v0.5.2
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]    Compiling num-derive v0.3.3
[INFO] [stderr]    Compiling command_attr v0.5.4
[INFO] [stderr]     Checking shell-words v1.1.1
[INFO] [stderr]     Checking uwl v0.6.0
[INFO] [stderr]     Checking http-range-header v0.4.2
[INFO] [stderr]     Checking fallible-iterator v0.2.0
[INFO] [stderr]     Checking rustc-hash v2.1.2
[INFO] [stderr]     Checking typemap_rev v0.3.0
[INFO] [stderr]     Checking cast v0.3.0
[INFO] [stderr]     Checking symlink v0.1.0
[INFO] [stderr]     Checking fallible-streaming-iterator v0.1.9
[INFO] [stderr]     Checking levenshtein v1.0.5
[INFO] [stderr]     Checking futures-timer v3.0.4
[INFO] [stderr]     Checking serde_yaml v0.9.34+deprecated
[INFO] [stderr]     Checking aes-gcm v0.10.3
[INFO] [stderr]     Checking dialoguer v0.11.0
[INFO] [stderr]     Checking sct v0.7.1
[INFO] [stderr]     Checking rustls-webpki v0.103.13
[INFO] [stderr]     Checking rustls-webpki v0.101.7
[INFO] [stderr]     Checking rustls-webpki v0.102.8
[INFO] [stderr]     Checking plotters v0.3.7
[INFO] [stderr]     Checking dirs v5.0.1
[INFO] [stderr]     Checking shellexpand v1.1.1
[INFO] [stderr]     Checking sysinfo v0.30.13
[INFO] [stderr]     Checking toml v0.8.23
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking anyhow v1.0.102
[INFO] [stderr]     Checking tracing-appender v0.2.5
[INFO] [stderr]     Checking lru v0.12.5
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking hostname v0.4.2
[INFO] [stderr]     Checking is-terminal v0.4.17
[INFO] [stderr]     Checking anes v0.1.6
[INFO] [stderr]     Checking oorandom v11.1.5
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking criterion-plot v0.5.0
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking ciborium-ll v0.2.2
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking tokio-stream v0.1.18
[INFO] [stderr]     Checking tower v0.4.13
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking rand v0.8.6
[INFO] [stderr]     Checking dashmap v5.5.3
[INFO] [stderr]     Checking hashlink v0.8.4
[INFO] [stderr]     Checking h2 v0.4.14
[INFO] [stderr]     Checking h2 v0.3.27
[INFO] [stderr]     Checking tower-http v0.5.2
[INFO] [stderr]     Checking tokio-test v0.4.5
[INFO] [stderr]     Checking tower-http v0.6.11
[INFO] [stderr]     Checking criterion v0.5.1
[INFO] [stderr]     Checking tokio-rustls v0.24.1
[INFO] [stderr]     Checking tungstenite v0.24.0
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]     Checking tokio-tungstenite v0.24.0
[INFO] [stderr]     Checking tungstenite v0.21.0
[INFO] [stderr]     Checking tokio-rustls v0.25.0
[INFO] [stderr]     Checking tokio-tungstenite v0.21.0
[INFO] [stderr]     Checking hyper v0.14.32
[INFO] [stderr]     Checking hyper v1.10.1
[INFO] [stderr]     Checking rusqlite v0.28.0
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking hyper-rustls v0.27.9
[INFO] [stderr]     Checking axum v0.7.9
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking hyper-rustls v0.24.2
[INFO] [stderr]     Checking reqwest v0.11.27
[INFO] [stderr]     Checking reqwest-eventsource v0.6.0
[INFO] [stderr]     Checking teloxide-core v0.9.1
[INFO] [stderr]     Checking axum-extra v0.9.6
[INFO] [stderr]     Checking teloxide v0.12.2
[INFO] [stderr]     Checking auxloclaw v1.2.4 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> src/tools/executor/mod.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Limits`, `SandboxConfig`, and `Sandbox`
[INFO] [stdout]   --> src/tools/executor/mod.rs:38:19
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub use sandbox::{Sandbox, SandboxConfig, Limits};
[INFO] [stdout]    |                   ^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> src/tools/executor/mod.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Limits`, `SandboxConfig`, and `Sandbox`
[INFO] [stdout]   --> src/tools/executor/mod.rs:38:19
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub use sandbox::{Sandbox, SandboxConfig, Limits};
[INFO] [stdout]    |                   ^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `final_response` is never read
[INFO] [stdout]    --> src/agent/mod.rs:560:34
[INFO] [stdout]     |
[INFO] [stdout] 560 |         let mut final_response = String::new();
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 645 |                     final_response = response.content;
[INFO] [stdout]     |                     -------------- `final_response` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `code_mode`
[INFO] [stdout]   --> src/channels/discord.rs:72:17
[INFO] [stdout]    |
[INFO] [stdout] 72 |             let code_mode = self.code_mode.clone();
[INFO] [stdout]    |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_code_mode`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/channels/markdown.rs:49:21
[INFO] [stdout]    |
[INFO] [stdout] 49 |                 let mut depth = 0;
[INFO] [stdout]    |                     ----^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depth`
[INFO] [stdout]   --> src/channels/markdown.rs:49:21
[INFO] [stdout]    |
[INFO] [stdout] 49 |                 let mut depth = 0;
[INFO] [stdout]    |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_depth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]   --> src/channels/markdown.rs:50:21
[INFO] [stdout]    |
[INFO] [stdout] 50 |                 let start = j;
[INFO] [stdout]    |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `indent`
[INFO] [stdout]    --> src/commands/code.rs:192:9
[INFO] [stdout]     |
[INFO] [stdout] 192 |     let indent = "  ".repeat(depth);
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_indent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `env_var`
[INFO] [stdout]    --> src/commands/setup.rs:371:5
[INFO] [stdout]     |
[INFO] [stdout] 371 |     env_var: &str,
[INFO] [stdout]     |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_env_var`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `final_response` is never read
[INFO] [stdout]    --> src/agent/mod.rs:560:34
[INFO] [stdout]     |
[INFO] [stdout] 560 |         let mut final_response = String::new();
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 645 |                     final_response = response.content;
[INFO] [stdout]     |                     -------------- `final_response` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `response` is never read
[INFO] [stdout]    --> src/coordination/sub_agent.rs:152:28
[INFO] [stdout]     |
[INFO] [stdout] 152 |         let mut response = String::new();
[INFO] [stdout]     |                            ^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 227 |             response = completion.content;
[INFO] [stdout]     |             -------- `response` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `estimated_main_cost`
[INFO] [stdout]   --> src/coordination/cost_aware_delegation.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |         estimated_main_cost: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_estimated_main_cost`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `adjusted_sub_cost`
[INFO] [stdout]   --> src/coordination/cost_aware_delegation.rs:85:13
[INFO] [stdout]    |
[INFO] [stdout] 85 |         let adjusted_sub_cost = (estimated_sub_cost as f32 * self.sub_agent_cost_factor) as u32;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_adjusted_sub_cost`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]   --> src/error_recovery.rs:89:45
[INFO] [stdout]    |
[INFO] [stdout] 89 |             Self::ProviderError { provider, message, .. } => {
[INFO] [stdout]    |                                             ^^^^^^^ help: try ignoring the field: `message: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/memory/reflector.rs:370:13
[INFO] [stdout]     |
[INFO] [stdout] 370 |         let mut parsed: serde_json::Value = serde_json::from_str(&json_str)
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `code_mode`
[INFO] [stdout]   --> src/channels/discord.rs:72:17
[INFO] [stdout]    |
[INFO] [stdout] 72 |             let code_mode = self.code_mode.clone();
[INFO] [stdout]    |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_code_mode`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/channels/markdown.rs:49:21
[INFO] [stdout]    |
[INFO] [stdout] 49 |                 let mut depth = 0;
[INFO] [stdout]    |                     ----^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depth`
[INFO] [stdout]   --> src/channels/markdown.rs:49:21
[INFO] [stdout]    |
[INFO] [stdout] 49 |                 let mut depth = 0;
[INFO] [stdout]    |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_depth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]   --> src/channels/markdown.rs:50:21
[INFO] [stdout]    |
[INFO] [stdout] 50 |                 let start = j;
[INFO] [stdout]    |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `indent`
[INFO] [stdout]    --> src/commands/code.rs:192:9
[INFO] [stdout]     |
[INFO] [stdout] 192 |     let indent = "  ".repeat(depth);
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_indent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `env_var`
[INFO] [stdout]    --> src/commands/setup.rs:371:5
[INFO] [stdout]     |
[INFO] [stdout] 371 |     env_var: &str,
[INFO] [stdout]     |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_env_var`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config_path`
[INFO] [stdout]    --> src/commands/setup.rs:640:13
[INFO] [stdout]     |
[INFO] [stdout] 640 |         let config_path = tmp.join("config.toml");
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_config_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `response` is never read
[INFO] [stdout]    --> src/coordination/sub_agent.rs:152:28
[INFO] [stdout]     |
[INFO] [stdout] 152 |         let mut response = String::new();
[INFO] [stdout]     |                            ^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 227 |             response = completion.content;
[INFO] [stdout]     |             -------- `response` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `estimated_main_cost`
[INFO] [stdout]   --> src/coordination/cost_aware_delegation.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |         estimated_main_cost: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_estimated_main_cost`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `adjusted_sub_cost`
[INFO] [stdout]   --> src/coordination/cost_aware_delegation.rs:85:13
[INFO] [stdout]    |
[INFO] [stdout] 85 |         let adjusted_sub_cost = (estimated_sub_cost as f32 * self.sub_agent_cost_factor) as u32;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_adjusted_sub_cost`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]   --> src/error_recovery.rs:89:45
[INFO] [stdout]    |
[INFO] [stdout] 89 |             Self::ProviderError { provider, message, .. } => {
[INFO] [stdout]    |                                             ^^^^^^^ help: try ignoring the field: `message: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/memory/reflector.rs:370:13
[INFO] [stdout]     |
[INFO] [stdout] 370 |         let mut parsed: serde_json::Value = serde_json::from_str(&json_str)
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `now`
[INFO] [stdout]   --> src/scheduler.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 54 |     let now = now_epoch();
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_now`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `skill_name`
[INFO] [stdout]    --> src/skills/mod.rs:188:41
[INFO] [stdout]     |
[INFO] [stdout] 188 |     async fn suggest_improvement(&self, skill_name: &str, failures: &[&str]) -> Result<String> {
[INFO] [stdout]     |                                         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_skill_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `content`
[INFO] [stdout]    --> src/tools/code.rs:167:13
[INFO] [stdout]     |
[INFO] [stdout] 167 |         let content = tokio::fs::read_to_string(path).await
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]    --> src/tools/executor/local_env.rs:134:13
[INFO] [stdout]     |
[INFO] [stdout] 134 |         let start = std::time::Instant::now();
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]    --> src/tools/executor/docker_env.rs:207:13
[INFO] [stdout]     |
[INFO] [stdout] 207 |         let start = std::time::Instant::now();
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stdin_data`
[INFO] [stdout]   --> src/tools/executor/ssh_env.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |         stdin_data: Option<&str>,
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stdin_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]   --> src/tools/executor/ssh_env.rs:83:13
[INFO] [stdout]    |
[INFO] [stdout] 83 |         let start = std::time::Instant::now();
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timeout`
[INFO] [stdout]   --> src/tools/executor/runtime.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     timeout: Duration,
[INFO] [stdout]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeout`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timeout`
[INFO] [stdout]   --> src/tools/executor/languages.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 75 |         timeout: Duration,
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeout`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timeout`
[INFO] [stdout]    --> src/tools/executor/languages.rs:143:9
[INFO] [stdout]     |
[INFO] [stdout] 143 |         timeout: Duration,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeout`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timeout`
[INFO] [stdout]    --> src/tools/executor/languages.rs:191:9
[INFO] [stdout]     |
[INFO] [stdout] 191 |         timeout: Duration,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeout`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `now`
[INFO] [stdout]   --> src/scheduler.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 54 |     let now = now_epoch();
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_now`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `skill_name`
[INFO] [stdout]    --> src/skills/mod.rs:188:41
[INFO] [stdout]     |
[INFO] [stdout] 188 |     async fn suggest_improvement(&self, skill_name: &str, failures: &[&str]) -> Result<String> {
[INFO] [stdout]     |                                         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_skill_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `content`
[INFO] [stdout]    --> src/tools/code.rs:167:13
[INFO] [stdout]     |
[INFO] [stdout] 167 |         let content = tokio::fs::read_to_string(path).await
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]    --> src/tools/executor/local_env.rs:134:13
[INFO] [stdout]     |
[INFO] [stdout] 134 |         let start = std::time::Instant::now();
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]    --> src/tools/executor/docker_env.rs:207:13
[INFO] [stdout]     |
[INFO] [stdout] 207 |         let start = std::time::Instant::now();
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stdin_data`
[INFO] [stdout]   --> src/tools/executor/ssh_env.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |         stdin_data: Option<&str>,
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stdin_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]   --> src/tools/executor/ssh_env.rs:83:13
[INFO] [stdout]    |
[INFO] [stdout] 83 |         let start = std::time::Instant::now();
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timeout`
[INFO] [stdout]   --> src/tools/executor/runtime.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     timeout: Duration,
[INFO] [stdout]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeout`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timeout`
[INFO] [stdout]   --> src/tools/executor/languages.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 75 |         timeout: Duration,
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeout`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timeout`
[INFO] [stdout]    --> src/tools/executor/languages.rs:143:9
[INFO] [stdout]     |
[INFO] [stdout] 143 |         timeout: Duration,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeout`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timeout`
[INFO] [stdout]    --> src/tools/executor/languages.rs:191:9
[INFO] [stdout]     |
[INFO] [stdout] 191 |         timeout: Duration,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeout`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ok`
[INFO] [stdout]    --> src/tools/web.rs:653:14
[INFO] [stdout]     |
[INFO] [stdout] 653 |         let (ok, _) = run_agent_browser(&["wait", "--load", "networkidle"])?;
[INFO] [stdout]     |              ^^ help: if this is intentional, prefix it with an underscore: `_ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `memory` and `checkpoint_manager` are never read
[INFO] [stdout]    --> src/agent/mod.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub struct AgentCore {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] 120 |     config: AppConfig,
[INFO] [stdout] 121 |     memory: Arc<MemoryEngine>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |     checkpoint_manager: Arc<CheckpointManager>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]     --> src/agent/mod.rs:416:12
[INFO] [stdout]      |
[INFO] [stdout]  164 | impl AgentCore {
[INFO] [stdout]      | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  416 |     pub fn get_persisted_code_override(&self, session_key: &str) -> Option<String> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  424 |     pub fn session_key_for(&self, channel: &str, user_id: &str) -> Option<String> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  433 |     pub fn intervention_registry(&self) -> &InterventionRegistry {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1021 |     pub async fn memory_summary(&self) -> String {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1203 |     pub async fn new_session(&self, session_id: &str) -> Result<()> {
[INFO] [stdout]      |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1360 |     pub async fn create_checkpoint(&self, session_id: &str, label: Option<&str>) -> Result<String> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1370 |     pub async fn rollback_session(&self, session_id: &str, checkpoint_id: &str) -> Result<()> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Record` is never used
[INFO] [stdout]   --> src/agent/history.rs:30:10
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub enum Record {
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `actual` and `budget` are never read
[INFO] [stdout]   --> src/agent/history.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 60 | struct TierOverflow {
[INFO] [stdout]    |        ------------ fields in this struct
[INFO] [stdout] 61 |     tier: Tier,
[INFO] [stdout] 62 |     actual: usize,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 63 |     budget: usize,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TierOverflow` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_auth_required` is never used
[INFO] [stdout]   --> src/auth.rs:53:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl AuthState {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn is_auth_required(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_bearer_token` is never used
[INFO] [stdout]   --> src/auth.rs:59:8
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub fn extract_bearer_token(auth_header: Option<&str>) -> Option<String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `voice_id` is never read
[INFO] [stdout]   --> src/channels/telegram.rs:98:5
[INFO] [stdout]    |
[INFO] [stdout] 91 | struct SessionState {
[INFO] [stdout]    |        ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 98 |     voice_id: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SessionState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `code_mode` and `config` are never read
[INFO] [stdout]    --> src/channels/telegram.rs:130:5
[INFO] [stdout]     |
[INFO] [stdout] 126 | pub struct TelegramState {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 130 |     code_mode: Arc<crate::memory::CodeModeStore>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 131 |     config: TelegramConfig,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Checkpoint` is never constructed
[INFO] [stdout]   --> src/checkpoints.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct Checkpoint {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data_dir` is never read
[INFO] [stdout]   --> src/checkpoints.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct CheckpointManager {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] 20 |     data_dir: PathBuf,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `create_checkpoint`, `rollback`, and `list_checkpoints` are never used
[INFO] [stdout]   --> src/checkpoints.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl CheckpointManager {
[INFO] [stdout]    | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn create_checkpoint(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub fn rollback(&self, session_id: &str, checkpoint_id: &str) -> Result<SessionHistory> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 87 |     pub fn list_checkpoints(&self, session_id: &str) -> Result<Vec<(String, u64, Option<String>)>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CodeSessionMeta` is never constructed
[INFO] [stdout]   --> src/commands/code.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct CodeSessionMeta {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handle_setup` is never used
[INFO] [stdout]   --> src/commands/setup.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn handle_setup(quick: bool, telegram: bool, discord: bool) -> Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `api_key_placeholder` is never used
[INFO] [stdout]    --> src/commands/setup.rs:387:8
[INFO] [stdout]     |
[INFO] [stdout] 387 | pub fn api_key_placeholder() -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CoordinatorEvent` is never used
[INFO] [stdout]   --> src/coordination/mod.rs:48:10
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub enum CoordinatorEvent {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/coordination/mod.rs:74:18
[INFO] [stdout]     |
[INFO] [stdout]  63 | impl AgentCoordinator {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  74 |     pub async fn cost_aware_delegator_stats(&self) -> DelegationStats {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 180 |     pub async fn get_sub_agent(&self, id: &str) -> Option<Arc<SubAgent>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 185 |     pub async fn list_sub_agents(&self) -> Vec<String> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 190 |     pub async fn terminate_sub_agent(&self, id: &str) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 213 |     pub async fn process_with_cost_aware_delegation(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 251 |     pub async fn set_sub_agents_enabled(&self, enabled: bool) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 256 |     pub async fn set_min_delegation_complexity(&self, min: u32) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 261 |     pub async fn delegation_stats(&self) -> DelegationStats {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 266 |     pub async fn process_with_delegation(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `cleanup` is never used
[INFO] [stdout]    --> src/coordination/blackboard.rs:132:18
[INFO] [stdout]     |
[INFO] [stdout]  43 | impl SharedBlackboard {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 132 |     pub async fn cleanup(&self) -> usize {
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `isolated_context` is never read
[INFO] [stdout]   --> src/coordination/sub_agent.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct SubAgentConfig {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub isolated_context: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SubAgentConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `terminate` and `get_history` are never used
[INFO] [stdout]    --> src/coordination/sub_agent.rs:253:18
[INFO] [stdout]     |
[INFO] [stdout] 105 | impl SubAgent {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 253 |     pub async fn terminate(&self) {
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 259 |     pub async fn get_history(&self) -> Vec<crate::memory::HistoryMessage> {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `has_budget`, `record_usage`, and `is_delegation_worthwhile` are never used
[INFO] [stdout]   --> src/coordination/cost_aware_delegation.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl TokenBudget {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 37 |     pub fn new(max_tokens: u32, session_budget: u32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub fn has_budget(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn record_usage(&mut self, tokens: u32) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn is_delegation_worthwhile(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `analyze`, `estimate_token_cost`, and `is_simple_task` are never used
[INFO] [stdout]    --> src/coordination/cost_aware_delegation.rs:140:12
[INFO] [stdout]     |
[INFO] [stdout] 138 | impl ComplexityAnalyzer {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] 139 |     /// Calculate complexity score (0-100)
[INFO] [stdout] 140 |     pub fn analyze(&self, task: &str) -> TaskComplexity {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 233 |     fn estimate_token_cost(&self, task: &str, complexity: u32) -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |     pub fn is_simple_task(&self, task: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `keep_on_main` and `delegate` are never used
[INFO] [stdout]    --> src/coordination/cost_aware_delegation.rs:310:12
[INFO] [stdout]     |
[INFO] [stdout] 308 | impl DelegationDecision {
[INFO] [stdout]     | ----------------------- associated functions in this implementation
[INFO] [stdout] 309 |     /// Create a decision to keep on main agent
[INFO] [stdout] 310 |     pub fn keep_on_main(reason: String, complexity: TaskComplexity) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 321 |     pub fn delegate(
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `should_delegate`, `record_usage`, `set_sub_agents_enabled`, `set_min_complexity`, and `set_max_budget` are never used
[INFO] [stdout]    --> src/coordination/cost_aware_delegation.rs:356:12
[INFO] [stdout]     |
[INFO] [stdout] 346 | impl CostAwareDelegator {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 356 |     pub fn should_delegate(&mut self, task: &str) -> DelegationDecision {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 443 |     pub fn record_usage(&mut self, tokens: u32, was_sub_agent: bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 458 |     pub fn set_sub_agents_enabled(&mut self, enabled: bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 463 |     pub fn set_min_complexity(&mut self, min: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 468 |     pub fn set_max_budget(&mut self, budget: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TaskPriority` is never used
[INFO] [stdout]  --> src/coordination/task_delegation.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub enum TaskPriority {
[INFO] [stdout]   |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DelegatedTask` is never constructed
[INFO] [stdout]   --> src/coordination/task_delegation.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct DelegatedTask {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `delegate_patterns` and `main_agent_patterns` are never read
[INFO] [stdout]   --> src/coordination/task_delegation.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct TaskDelegator {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 31 |     delegate_patterns: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 32 |     /// Tasks that should stay on main agent
[INFO] [stdout] 33 |     main_agent_patterns: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/coordination/task_delegation.rs:163:12
[INFO] [stdout]     |
[INFO] [stdout]  36 | impl TaskDelegator {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub fn should_delegate(&self, task: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 184 |     pub fn should_keep_on_main(&self, task: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 197 |     fn is_complex_task(&self, task: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 212 |     pub fn get_priority(&self, task: &str) -> TaskPriority {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 230 |     pub fn estimate_tool_count(&self, task: &str) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 247 |     pub fn create_delegated_task(&self, task: &str) -> DelegatedTask {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 263 |     pub fn split_task(&self, task: &str) -> Vec<DelegatedTask> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `duration_secs` is never read
[INFO] [stdout]   --> src/error_recovery.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 49 |     TimeoutError {
[INFO] [stdout]    |     ------------ field in this variant
[INFO] [stdout] 50 |         operation: String,
[INFO] [stdout] 51 |         duration_secs: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AgentError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `ProviderError`, `ToolError`, `SessionError`, `RateLimitError`, `ContextOverflow`, and `SubAgentError` are never constructed
[INFO] [stdout]   --> src/error_recovery.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum AgentError {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout] 11 |     /// Provider failed - try fallback or retry
[INFO] [stdout] 12 |     ProviderError {
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     ToolError {
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     SessionError {
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     RateLimitError {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     ContextOverflow {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     SubAgentError {
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AgentError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/error_recovery.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub enum RecoveryAction {
[INFO] [stdout]    |          -------------- variants in this enum
[INFO] [stdout] 58 |     /// Retry with exponential backoff
[INFO] [stdout] 59 |     RetryWithBackoff { max_attempts: u32, base_delay_ms: u64 },
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 60 |     /// Switch to fallback provider
[INFO] [stdout] 61 |     SwitchToFallback { fallback_name: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 62 |     /// Truncate context and retry
[INFO] [stdout] 63 |     TruncateContext { keep_last_n: usize },
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 64 |     /// Graceful degradation - return partial result
[INFO] [stdout] 65 |     DegradedResponse { message: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 66 |     /// Notify user and wait for input
[INFO] [stdout] 67 |     RequestUserInput { prompt: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 68 |     /// No automatic recovery possible
[INFO] [stdout] 69 |     NoRecovery { reason: String },
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 70 |     /// Restart the session
[INFO] [stdout] 71 |     RestartSession,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 72 |     /// Spawn sub-agent to handle
[INFO] [stdout] 73 |     DelegateToSubAgent { agent_type: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RecoveryAction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_recoverable` and `suggested_action` are never used
[INFO] [stdout]    --> src/error_recovery.rs:114:12
[INFO] [stdout]     |
[INFO] [stdout]  85 | impl AgentError {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 114 |     pub fn is_recoverable(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub fn suggested_action(&self) -> RecoveryAction {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ErrorRecovery` is never constructed
[INFO] [stdout]    --> src/error_recovery.rs:153:12
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub struct ErrorRecovery {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `execute_recovery`, and `handle_error` are never used
[INFO] [stdout]    --> src/error_recovery.rs:158:12
[INFO] [stdout]     |
[INFO] [stdout] 157 | impl ErrorRecovery {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] 158 |     pub fn new(max_retries: u32) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub async fn execute_recovery(&self, action: &RecoveryAction) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 205 |     pub async fn handle_error(&self, error: AgentError) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AgentResult` is never constructed
[INFO] [stdout]    --> src/error_recovery.rs:217:12
[INFO] [stdout]     |
[INFO] [stdout] 217 | pub struct AgentResult<T> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `success`, `failure`, and `partial` are never used
[INFO] [stdout]    --> src/error_recovery.rs:225:12
[INFO] [stdout]     |
[INFO] [stdout] 224 | impl<T> AgentResult<T> {
[INFO] [stdout]     | ---------------------- associated functions in this implementation
[INFO] [stdout] 225 |     pub fn success(value: T, context: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 234 |     pub fn failure(error: AgentError, context: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 243 |     pub fn partial(value: T, error: AgentError, context: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `command`, `args`, and `env` are never read
[INFO] [stdout]   --> src/mcp.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 40 | struct McpClientInner {
[INFO] [stdout]    |        -------------- fields in this struct
[INFO] [stdout] 41 |     name: String,
[INFO] [stdout] 42 |     command: String,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 43 |     args: Vec<String>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 44 |     env: HashMap<String, String>,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `name` is never used
[INFO] [stdout]    --> src/mcp.rs:103:12
[INFO] [stdout]     |
[INFO] [stdout]  57 | impl McpClient {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 103 |     pub fn name(&self) -> &str {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `hot` is never read
[INFO] [stdout]   --> src/memory/mod.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct MemoryEngine {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 38 |     hot: RwLock<LruCache<String, MemoryEntry>>,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `store`, `retrieve`, `hot_keys`, and `clear_hot` are never used
[INFO] [stdout]   --> src/memory/mod.rs:60:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | impl MemoryEngine {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub fn store(&self, key: &str, content: &str, metadata: Option<HashMap<String, String>>) -> Result<()> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 80 |     pub fn retrieve(&self, key: &str) -> Option<MemoryEntry> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub fn hot_keys(&self) -> Vec<String> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 98 |     pub fn clear_hot(&self) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `memory_store`, `load`, and `count` are never used
[INFO] [stdout]    --> src/memory/mod.rs:176:12
[INFO] [stdout]     |
[INFO] [stdout] 159 | impl SessionStore {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 176 |     pub fn memory_store(&self) -> &Arc<MemoryStore> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 196 |     pub fn load(&self, session_id: &str) -> Result<Option<SessionHistory>> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 238 |     pub fn count(&self) -> Result<usize> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_override` and `active_sessions` are never used
[INFO] [stdout]    --> src/memory/mod.rs:302:12
[INFO] [stdout]     |
[INFO] [stdout] 257 | impl CodeModeStore {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 302 |     pub fn get_override(&self, session_key: &str) -> Option<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 308 |     pub fn active_sessions(&self) -> Vec<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `load_summaries` is never used
[INFO] [stdout]    --> src/memory/compactor.rs:332:12
[INFO] [stdout]     |
[INFO] [stdout]  87 | impl Compactor {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 332 |     pub fn load_summaries(&self) -> Result<Vec<CompactionSummary>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `timestamp` is never read
[INFO] [stdout]    --> src/memory/store.rs:214:9
[INFO] [stdout]     |
[INFO] [stdout] 210 | pub struct MessageRecord {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 214 |     pub timestamp: i64,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MessageRecord` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_session`, `get_recent_messages`, `delete_fact`, `reinforce_preference`, `get_compaction_summaries`, and `get_all_session_updated_at` are never used
[INFO] [stdout]     --> src/memory/store.rs:343:12
[INFO] [stdout]      |
[INFO] [stdout]  267 | impl MemoryStore {
[INFO] [stdout]      | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  343 |     pub fn get_session(&self, session_id: &str) -> Result<Option<SessionRecord>> {
[INFO] [stdout]      |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  535 |     pub fn get_recent_messages(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  736 |     pub fn delete_fact(&self, key: &str) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  803 |     pub fn reinforce_preference(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1014 |     pub fn get_compaction_summaries(&self, limit: usize) -> Result<Vec<CompactionSummaryRecord>> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1051 |     pub fn get_all_session_updated_at(&self) -> Result<std::collections::HashMap<String, u64>> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_enabled` is never used
[INFO] [stdout]   --> src/plugins.rs:91:12
[INFO] [stdout]    |
[INFO] [stdout] 83 | impl PluginManager {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 91 |     pub fn is_enabled(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `provider_type`, `stream`, and `embed` are never used
[INFO] [stdout]   --> src/providers/mod.rs:41:8
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub trait LLMProvider: Send + Sync {
[INFO] [stdout]    |           ----------- methods in this trait
[INFO] [stdout] 40 |     fn name(&self) -> &str;
[INFO] [stdout] 41 |     fn provider_type(&self) -> &str; // e.g., "nvidia", "google", "openai", "anthropic"
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     async fn stream(&self, request: CompletionRequest) -> Result<mpsc::Receiver<StreamChunk>>;
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout] 45 |     async fn embed(&self, text: &str) -> Result<Vec<f32>>;
[INFO] [stdout]    |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `client` is never read
[INFO] [stdout]   --> src/providers/mod.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct ProviderPool {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 52 |     client: Client,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_provider`, `set_active`, `list_providers`, `default_name`, `stream`, and `register_from_global` are never used
[INFO] [stdout]    --> src/providers/mod.rs:90:18
[INFO] [stdout]     |
[INFO] [stdout]  55 | impl ProviderPool {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  90 |     pub async fn add_provider(&self, entry: ProviderEntry) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     pub async fn set_active(&self, name: &str) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |     pub async fn list_providers(&self) -> Vec<ProviderInfo> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 142 |     pub async fn default_name(&self) -> String {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 220 |     pub async fn stream(&self, request: CompletionRequest) -> Result<mpsc::Receiver<StreamChunk>> {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 |     pub async fn register_from_global(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProviderInfo` is never constructed
[INFO] [stdout]    --> src/providers/mod.rs:253:12
[INFO] [stdout]     |
[INFO] [stdout] 253 | pub struct ProviderInfo {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `build_headers` is never used
[INFO] [stdout]    --> src/providers/mod.rs:303:8
[INFO] [stdout]     |
[INFO] [stdout] 268 | impl OpenAICompatibleProvider {
[INFO] [stdout]     | ----------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 303 |     fn build_headers(&self) -> reqwest::header::HeaderMap {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `with_image` and `with_image_url` are never used
[INFO] [stdout]    --> src/providers/mod.rs:600:12
[INFO] [stdout]     |
[INFO] [stdout] 562 | impl Message {
[INFO] [stdout]     | ------------ associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 600 |     pub fn with_image(
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 622 |     pub fn with_image_url(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StreamChunk` is never constructed
[INFO] [stdout]    --> src/providers/mod.rs:686:12
[INFO] [stdout]     |
[INFO] [stdout] 686 | pub struct StreamChunk {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StreamChoice` is never constructed
[INFO] [stdout]    --> src/providers/mod.rs:694:12
[INFO] [stdout]     |
[INFO] [stdout] 694 | pub struct StreamChoice {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StreamDelta` is never constructed
[INFO] [stdout]    --> src/providers/mod.rs:702:12
[INFO] [stdout]     |
[INFO] [stdout] 702 | pub struct StreamDelta {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OpenAICompletion` is never constructed
[INFO] [stdout]    --> src/providers/mod.rs:712:8
[INFO] [stdout]     |
[INFO] [stdout] 712 | struct OpenAICompletion {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OpenAIChoice` is never constructed
[INFO] [stdout]    --> src/providers/mod.rs:721:8
[INFO] [stdout]     |
[INFO] [stdout] 721 | struct OpenAIChoice {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OpenAIMessage` is never constructed
[INFO] [stdout]    --> src/providers/mod.rs:726:8
[INFO] [stdout]     |
[INFO] [stdout] 726 | struct OpenAIMessage {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OpenAIUsage` is never constructed
[INFO] [stdout]    --> src/providers/mod.rs:734:8
[INFO] [stdout]     |
[INFO] [stdout] 734 | struct OpenAIUsage {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `provider_type` and `stream_response` are never used
[INFO] [stdout]   --> src/providers/adapters/mod.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub trait ProviderAdapter: Send + Sync {
[INFO] [stdout]    |           --------------- methods in this trait
[INFO] [stdout] 28 |     fn provider_type(&self) -> &str;
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     async fn stream_response(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `shutdown` is never used
[INFO] [stdout]    --> src/scheduler.rs:237:18
[INFO] [stdout]     |
[INFO] [stdout]  86 | impl CronScheduler {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 237 |     pub async fn shutdown(mut self) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `path` and `is_external` are never read
[INFO] [stdout]   --> src/skills/mod.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub struct Skill {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub path: PathBuf,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 61 |     pub is_external: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Skill` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_file` is never used
[INFO] [stdout]   --> src/skills/mod.rs:89:12
[INFO] [stdout]    |
[INFO] [stdout] 64 | impl Skill {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 89 |     pub fn from_file(path: &std::path::Path) -> Result<Self> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SkillIndexEntry` is never constructed
[INFO] [stdout]    --> src/skills/mod.rs:109:12
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub struct SkillIndexEntry {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LearningLoop` is never constructed
[INFO] [stdout]    --> src/skills/mod.rs:116:12
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub struct LearningLoop {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Experience` is never constructed
[INFO] [stdout]    --> src/skills/mod.rs:122:8
[INFO] [stdout]     |
[INFO] [stdout] 122 | struct Experience {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `record`, `improve`, and `suggest_improvement` are never used
[INFO] [stdout]    --> src/skills/mod.rs:131:12
[INFO] [stdout]     |
[INFO] [stdout] 130 | impl LearningLoop {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 131 |     pub fn new(registry: Arc<SkillRegistry>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 139 |     pub fn record(&self, skill_name: &str, task: &str, success: bool, feedback: &str) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     pub async fn improve(&self) -> Result<Vec<String>> {
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 188 |     async fn suggest_improvement(&self, skill_name: &str, failures: &[&str]) -> Result<String> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AGENTSKILLS_REGISTRY` is never used
[INFO] [stdout]   --> src/skills/registry.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const AGENTSKILLS_REGISTRY: &str = "https://agentskills.io/api/v1/skills";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `view_skill`, `update_skill`, `create_skill`, `scan`, and `list_by_category` are never used
[INFO] [stdout]    --> src/skills/registry.rs:152:12
[INFO] [stdout]     |
[INFO] [stdout]  83 | impl SkillRegistry {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 152 |     pub fn view_skill(&self, name: &str) -> Option<super::Skill> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     pub async fn update_skill(&self, name: &str, body: &str) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 210 |     pub async fn create_skill(&self, name: &str, description: &str, body: &str) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 |     pub async fn scan(&mut self) -> Result<()> {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 276 |     pub async fn list_by_category(&mut self, category: &str) -> Result<Vec<RegistrySkill>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `auto_install` is never used
[INFO] [stdout]    --> src/skills/installer.rs:110:18
[INFO] [stdout]     |
[INFO] [stdout]  15 | impl SkillInstaller {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub async fn auto_install(&mut self, prompt: &str) -> Result<Option<String>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_skill_keywords` is never used
[INFO] [stdout]    --> src/skills/installer.rs:244:4
[INFO] [stdout]     |
[INFO] [stdout] 244 | fn extract_skill_keywords(prompt: &str) -> Vec<String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `COMMON_WORDS` is never used
[INFO] [stdout]    --> src/skills/installer.rs:306:7
[INFO] [stdout]     |
[INFO] [stdout] 306 | const COMMON_WORDS: &[&str] = &[
[INFO] [stdout]     |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `description` and `trigger` are never read
[INFO] [stdout]   --> src/skills/extractor.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub struct ExtractedSkill {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] 61 |     pub name: String,
[INFO] [stdout] 62 |     pub description: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 63 |     pub trigger: ExtractionTrigger,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ExtractedSkill` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `StreamEvent` is never used
[INFO] [stdout]  --> src/streaming/mod.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub enum StreamEvent {
[INFO] [stdout]   |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StreamRequest` is never constructed
[INFO] [stdout]   --> src/streaming/mod.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct StreamRequest {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StreamSession` is never constructed
[INFO] [stdout]   --> src/streaming/mod.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct StreamSession {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `send_token`, and `send_done` are never used
[INFO] [stdout]   --> src/streaming/mod.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl StreamSession {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 34 |     pub fn new(session_id: String, buffer_size: usize) -> (Self, mpsc::Receiver<StreamEvent>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub async fn send_token(&self, content: &str) -> Result<(), mpsc::error::SendError<StreamEvent>> {
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub async fn send_done(&self, message: &str) -> Result<(), mpsc::error::SendError<StreamEvent>> {
[INFO] [stdout]    |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `mode` is never used
[INFO] [stdout]   --> src/tools/approval.rs:84:12
[INFO] [stdout]    |
[INFO] [stdout] 77 | impl ApprovalPolicy {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 84 |     pub fn mode(&self) -> ApprovalMode {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HttpFetchTool` is never constructed
[INFO] [stdout]   --> src/tools/builtin.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct HttpFetchTool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/tools/builtin.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl HttpFetchTool {
[INFO] [stdout]    | ------------------ associated function in this implementation
[INFO] [stdout] 18 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ScriptTool` is never constructed
[INFO] [stdout]   --> src/tools/builtin.rs:55:12
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub struct ScriptTool;
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ParallelTool` is never constructed
[INFO] [stdout]   --> src/tools/builtin.rs:83:12
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub struct ParallelTool;
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ListScheduledJobsTool` is never constructed
[INFO] [stdout]    --> src/tools/builtin.rs:109:12
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub struct ListScheduledJobsTool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tools/builtin.rs:114:12
[INFO] [stdout]     |
[INFO] [stdout] 113 | impl ListScheduledJobsTool {
[INFO] [stdout]     | -------------------------- associated function in this implementation
[INFO] [stdout] 114 |     pub fn new(log: ScheduleRunLog) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_environment` is never used
[INFO] [stdout]   --> src/tools/executor/mod.rs:52:14
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub async fn create_environment(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ExecuteParallelTool` is never constructed
[INFO] [stdout]    --> src/tools/executor/mod.rs:290:12
[INFO] [stdout]     |
[INFO] [stdout] 290 | pub struct ExecuteParallelTool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tools/executor/mod.rs:295:12
[INFO] [stdout]     |
[INFO] [stdout] 294 | impl ExecuteParallelTool {
[INFO] [stdout]     | ------------------------ associated function in this implementation
[INFO] [stdout] 295 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CmdSpec` is never constructed
[INFO] [stdout]    --> src/tools/executor/mod.rs:307:8
[INFO] [stdout]     |
[INFO] [stdout] 307 | struct CmdSpec {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProcessOutput` is never constructed
[INFO] [stdout]   --> src/tools/executor/environment.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct ProcessOutput {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Environment` is never used
[INFO] [stdout]   --> src/tools/executor/environment.rs:47:11
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub trait Environment: Send + Sync {
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `workspace_root` and `env` are never read
[INFO] [stdout]   --> src/tools/executor/environment.rs:79:9
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub struct ExecutionConfig {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub workspace_root: PathBuf,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 80 |     pub env: HashMap<String, String>,
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ExecutionConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ExecutionEngine` is never constructed
[INFO] [stdout]   --> src/tools/executor/environment.rs:95:12
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub struct ExecutionEngine<E: Environment> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/tools/executor/environment.rs:105:12
[INFO] [stdout]     |
[INFO] [stdout] 104 | impl<E: Environment> ExecutionEngine<E> {
[INFO] [stdout]     | --------------------------------------- associated items in this implementation
[INFO] [stdout] 105 |     pub fn new(env: E, config: ExecutionConfig) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub async fn init_session(&mut self) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub async fn execute(&mut self, command: &str) -> Result<ProcessOutput> {
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 202 |     pub fn cwd(&self) -> &PathBuf {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 207 |     pub fn set_cwd(&mut self, cwd: PathBuf) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 212 |     fn update_cwd(&mut self, output: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 220 |     pub async fn cleanup(&self) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 230 |     fn cwd_marker(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 234 |     fn wrap_command(&self, command: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 274 |     fn extract_cwd<'a>(&self, output: &'a str) -> (&'a str, Option<String>) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `EnvironmentType` is never used
[INFO] [stdout]    --> src/tools/executor/environment.rs:295:10
[INFO] [stdout]     |
[INFO] [stdout] 295 | pub enum EnvironmentType {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DockerEnvConfig` is never constructed
[INFO] [stdout]    --> src/tools/executor/environment.rs:308:12
[INFO] [stdout]     |
[INFO] [stdout] 308 | pub struct DockerEnvConfig {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_true` is never used
[INFO] [stdout]    --> src/tools/executor/environment.rs:324:4
[INFO] [stdout]     |
[INFO] [stdout] 324 | fn default_true() -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SshEnvConfig` is never constructed
[INFO] [stdout]    --> src/tools/executor/environment.rs:329:12
[INFO] [stdout]     |
[INFO] [stdout] 329 | pub struct SshEnvConfig {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_ssh_port` is never used
[INFO] [stdout]    --> src/tools/executor/environment.rs:339:4
[INFO] [stdout]     |
[INFO] [stdout] 339 | fn default_ssh_port() -> u16 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TerminalConfig` is never constructed
[INFO] [stdout]    --> src/tools/executor/environment.rs:344:12
[INFO] [stdout]     |
[INFO] [stdout] 344 | pub struct TerminalConfig {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_timeout` is never used
[INFO] [stdout]    --> src/tools/executor/environment.rs:369:4
[INFO] [stdout]     |
[INFO] [stdout] 369 | fn default_timeout() -> u64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_max_output` is never used
[INFO] [stdout]    --> src/tools/executor/environment.rs:373:4
[INFO] [stdout]     |
[INFO] [stdout] 373 | fn default_max_output() -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ALLOWED_ENV_VARS` is never used
[INFO] [stdout]   --> src/tools/executor/local_env.rs:25:7
[INFO] [stdout]    |
[INFO] [stdout] 25 | const ALLOWED_ENV_VARS: &[&str] = &[
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LocalEnvironment` is never constructed
[INFO] [stdout]   --> src/tools/executor/local_env.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub struct LocalEnvironment {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `resolve_safe_cwd` are never used
[INFO] [stdout]   --> src/tools/executor/local_env.rs:67:12
[INFO] [stdout]    |
[INFO] [stdout] 66 | impl LocalEnvironment {
[INFO] [stdout]    | --------------------- associated functions in this implementation
[INFO] [stdout] 67 |     pub fn new(cwd: PathBuf, env: std::collections::HashMap<String, String>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 74 |     fn resolve_safe_cwd(cwd: &PathBuf) -> PathBuf {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BASE_SECURITY_ARGS` is never used
[INFO] [stdout]   --> src/tools/executor/docker_env.rs:26:7
[INFO] [stdout]    |
[INFO] [stdout] 26 | const BASE_SECURITY_ARGS: &[&str] = &[
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PRIVDROP_CAP_ARGS` is never used
[INFO] [stdout]   --> src/tools/executor/docker_env.rs:37:7
[INFO] [stdout]    |
[INFO] [stdout] 37 | const PRIVDROP_CAP_ARGS: &[&str] = &[
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DockerEnvironment` is never constructed
[INFO] [stdout]   --> src/tools/executor/docker_env.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub struct DockerEnvironment {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `start`, and `find_docker` are never used
[INFO] [stdout]    --> src/tools/executor/docker_env.rs:59:18
[INFO] [stdout]     |
[INFO] [stdout]  58 | impl DockerEnvironment {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout]  59 |     pub async fn new(
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout]  93 |     pub async fn start(&mut self, host_workspace: &PathBuf) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 169 |     fn find_docker() -> Option<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SshEnvironment` is never constructed
[INFO] [stdout]   --> src/tools/executor/ssh_env.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct SshEnvironment {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `ssh_cmd` are never used
[INFO] [stdout]   --> src/tools/executor/ssh_env.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl SshEnvironment {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 31 |     pub fn new(config: SshEnvConfig, cwd: PathBuf) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     fn ssh_cmd(&self) -> Command {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shell_quote` is never used
[INFO] [stdout]    --> src/tools/executor/ssh_env.rs:119:4
[INFO] [stdout]     |
[INFO] [stdout] 119 | fn shell_quote(s: &str) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_with_timeout` is never used
[INFO] [stdout]   --> src/tools/executor/runtime.rs:18:14
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub async fn run_with_timeout(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ScriptResult` is never constructed
[INFO] [stdout]   --> src/tools/executor/languages.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct ScriptResult {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `LanguageExecutor` is never used
[INFO] [stdout]   --> src/tools/executor/languages.rs:25:11
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub trait LanguageExecutor: Send + Sync {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PythonExec` is never constructed
[INFO] [stdout]   --> src/tools/executor/languages.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct PythonExec {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `validate_imports` are never used
[INFO] [stdout]   --> src/tools/executor/languages.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl PythonExec {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 40 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     fn validate_imports(&self, code: &str) -> Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BunExec` is never constructed
[INFO] [stdout]    --> src/tools/executor/languages.rs:105:12
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub struct BunExec {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `validate_modules` are never used
[INFO] [stdout]    --> src/tools/executor/languages.rs:110:12
[INFO] [stdout]     |
[INFO] [stdout] 109 | impl BunExec {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout] 110 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     fn validate_modules(&self, code: &str) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ShellExec` is never constructed
[INFO] [stdout]    --> src/tools/executor/languages.rs:172:12
[INFO] [stdout]     |
[INFO] [stdout] 172 | pub struct ShellExec;
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tools/executor/languages.rs:175:12
[INFO] [stdout]     |
[INFO] [stdout] 174 | impl ShellExec {
[INFO] [stdout]     | -------------- associated function in this implementation
[INFO] [stdout] 175 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLOCKED_PATTERNS` is never used
[INFO] [stdout]   --> src/tools/executor/sandbox.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const BLOCKED_PATTERNS: &[&str] = &[
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Sandbox` is never constructed
[INFO] [stdout]   --> src/tools/executor/sandbox.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct Sandbox {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_workspace`, `allow`, and `validate` are never used
[INFO] [stdout]   --> src/tools/executor/sandbox.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl Sandbox {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] 27 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn with_workspace(mut self, ws: &str) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn allow(&mut self, cmd: &str) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn validate(&self, cmd: &str) -> Result<()> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Limits` is never constructed
[INFO] [stdout]   --> src/tools/executor/sandbox.rs:72:12
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub struct Limits {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `default_limits` is never used
[INFO] [stdout]   --> src/tools/executor/sandbox.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 78 | impl Limits {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] 79 |     pub fn default_limits() -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SandboxConfig` is never constructed
[INFO] [stdout]   --> src/tools/executor/sandbox.rs:90:12
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub struct SandboxConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `validate_command`, `validate_python`, `validate_js`, `truncate_output`, and `is_within_workspace` are never used
[INFO] [stdout]    --> src/tools/executor/sandbox.rs:132:12
[INFO] [stdout]     |
[INFO] [stdout] 131 | impl SandboxConfig {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] 132 |     pub fn validate_command(&self, code: &str) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |     pub fn validate_python(&self, code: &str) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 152 |     pub fn validate_js(&self, code: &str) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 164 |     pub fn truncate_output(&self, output: &str) -> (String, bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 |     pub fn is_within_workspace(&self, path: &PathBuf) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config_chat_id` is never read
[INFO] [stdout]    --> src/tools/send_message.rs:103:5
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub struct TelegramAdapter {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] 102 |     bot: teloxide::Bot,
[INFO] [stdout] 103 |     config_chat_id: Option<i64>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_image_as_data_url` is never used
[INFO] [stdout]   --> src/tools/vision.rs:66:8
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub fn read_image_as_data_url(path: &Path) -> anyhow::Result<String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_image_message` is never used
[INFO] [stdout]   --> src/tools/vision.rs:72:8
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub fn build_image_message(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pdf_to_images` is never used
[INFO] [stdout]    --> src/tools/vision.rs:114:8
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub fn pdf_to_images(path: &Path, out_dir: &Path, pages: Option<&str>) -> anyhow::Result<Vec<std::path::PathBuf>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused implementer of `futures::Future` that must be used
[INFO] [stdout]    --> src/main.rs:479:5
[INFO] [stdout]     |
[INFO] [stdout] 479 |     coordinator_instance.set_cost_aware_delegator(loaded_delegator);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: futures do nothing unless you `.await` or poll them
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ok`
[INFO] [stdout]    --> src/tools/web.rs:653:14
[INFO] [stdout]     |
[INFO] [stdout] 653 |         let (ok, _) = run_agent_browser(&["wait", "--load", "networkidle"])?;
[INFO] [stdout]     |              ^^ help: if this is intentional, prefix it with an underscore: `_ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `memory` and `checkpoint_manager` are never read
[INFO] [stdout]    --> src/agent/mod.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub struct AgentCore {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] 120 |     config: AppConfig,
[INFO] [stdout] 121 |     memory: Arc<MemoryEngine>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |     checkpoint_manager: Arc<CheckpointManager>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]     --> src/agent/mod.rs:416:12
[INFO] [stdout]      |
[INFO] [stdout]  164 | impl AgentCore {
[INFO] [stdout]      | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  416 |     pub fn get_persisted_code_override(&self, session_key: &str) -> Option<String> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  424 |     pub fn session_key_for(&self, channel: &str, user_id: &str) -> Option<String> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  433 |     pub fn intervention_registry(&self) -> &InterventionRegistry {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1021 |     pub async fn memory_summary(&self) -> String {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1203 |     pub async fn new_session(&self, session_id: &str) -> Result<()> {
[INFO] [stdout]      |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1360 |     pub async fn create_checkpoint(&self, session_id: &str, label: Option<&str>) -> Result<String> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1370 |     pub async fn rollback_session(&self, session_id: &str, checkpoint_id: &str) -> Result<()> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Record` is never used
[INFO] [stdout]   --> src/agent/history.rs:30:10
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub enum Record {
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `actual` and `budget` are never read
[INFO] [stdout]   --> src/agent/history.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 60 | struct TierOverflow {
[INFO] [stdout]    |        ------------ fields in this struct
[INFO] [stdout] 61 |     tier: Tier,
[INFO] [stdout] 62 |     actual: usize,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 63 |     budget: usize,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TierOverflow` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_auth_required` is never used
[INFO] [stdout]   --> src/auth.rs:53:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl AuthState {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn is_auth_required(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_bearer_token` is never used
[INFO] [stdout]   --> src/auth.rs:59:8
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub fn extract_bearer_token(auth_header: Option<&str>) -> Option<String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `voice_id` is never read
[INFO] [stdout]   --> src/channels/telegram.rs:98:5
[INFO] [stdout]    |
[INFO] [stdout] 91 | struct SessionState {
[INFO] [stdout]    |        ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 98 |     voice_id: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SessionState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `code_mode` and `config` are never read
[INFO] [stdout]    --> src/channels/telegram.rs:130:5
[INFO] [stdout]     |
[INFO] [stdout] 126 | pub struct TelegramState {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 130 |     code_mode: Arc<crate::memory::CodeModeStore>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 131 |     config: TelegramConfig,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Checkpoint` is never constructed
[INFO] [stdout]   --> src/checkpoints.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct Checkpoint {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data_dir` is never read
[INFO] [stdout]   --> src/checkpoints.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct CheckpointManager {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] 20 |     data_dir: PathBuf,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `create_checkpoint`, `rollback`, and `list_checkpoints` are never used
[INFO] [stdout]   --> src/checkpoints.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl CheckpointManager {
[INFO] [stdout]    | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn create_checkpoint(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub fn rollback(&self, session_id: &str, checkpoint_id: &str) -> Result<SessionHistory> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 87 |     pub fn list_checkpoints(&self, session_id: &str) -> Result<Vec<(String, u64, Option<String>)>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CodeSessionMeta` is never constructed
[INFO] [stdout]   --> src/commands/code.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct CodeSessionMeta {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handle_setup` is never used
[INFO] [stdout]   --> src/commands/setup.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn handle_setup(quick: bool, telegram: bool, discord: bool) -> Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CoordinatorEvent` is never used
[INFO] [stdout]   --> src/coordination/mod.rs:48:10
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub enum CoordinatorEvent {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/coordination/mod.rs:74:18
[INFO] [stdout]     |
[INFO] [stdout]  63 | impl AgentCoordinator {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  74 |     pub async fn cost_aware_delegator_stats(&self) -> DelegationStats {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 180 |     pub async fn get_sub_agent(&self, id: &str) -> Option<Arc<SubAgent>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 185 |     pub async fn list_sub_agents(&self) -> Vec<String> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 190 |     pub async fn terminate_sub_agent(&self, id: &str) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 213 |     pub async fn process_with_cost_aware_delegation(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 251 |     pub async fn set_sub_agents_enabled(&self, enabled: bool) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 256 |     pub async fn set_min_delegation_complexity(&self, min: u32) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 261 |     pub async fn delegation_stats(&self) -> DelegationStats {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 266 |     pub async fn process_with_delegation(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `isolated_context` is never read
[INFO] [stdout]   --> src/coordination/sub_agent.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct SubAgentConfig {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub isolated_context: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SubAgentConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `terminate` and `get_history` are never used
[INFO] [stdout]    --> src/coordination/sub_agent.rs:253:18
[INFO] [stdout]     |
[INFO] [stdout] 105 | impl SubAgent {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 253 |     pub async fn terminate(&self) {
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 259 |     pub async fn get_history(&self) -> Vec<crate::memory::HistoryMessage> {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `is_delegation_worthwhile` are never used
[INFO] [stdout]   --> src/coordination/cost_aware_delegation.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl TokenBudget {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 37 |     pub fn new(max_tokens: u32, session_budget: u32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn is_delegation_worthwhile(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_sub_agents_enabled` and `set_min_complexity` are never used
[INFO] [stdout]    --> src/coordination/cost_aware_delegation.rs:458:12
[INFO] [stdout]     |
[INFO] [stdout] 346 | impl CostAwareDelegator {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 458 |     pub fn set_sub_agents_enabled(&mut self, enabled: bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 463 |     pub fn set_min_complexity(&mut self, min: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TaskPriority` is never used
[INFO] [stdout]  --> src/coordination/task_delegation.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub enum TaskPriority {
[INFO] [stdout]   |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DelegatedTask` is never constructed
[INFO] [stdout]   --> src/coordination/task_delegation.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct DelegatedTask {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `main_agent_patterns` is never read
[INFO] [stdout]   --> src/coordination/task_delegation.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct TaskDelegator {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 33 |     main_agent_patterns: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `should_keep_on_main`, `get_priority`, `estimate_tool_count`, `create_delegated_task`, and `split_task` are never used
[INFO] [stdout]    --> src/coordination/task_delegation.rs:184:12
[INFO] [stdout]     |
[INFO] [stdout]  36 | impl TaskDelegator {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 184 |     pub fn should_keep_on_main(&self, task: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 212 |     pub fn get_priority(&self, task: &str) -> TaskPriority {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 230 |     pub fn estimate_tool_count(&self, task: &str) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 247 |     pub fn create_delegated_task(&self, task: &str) -> DelegatedTask {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 263 |     pub fn split_task(&self, task: &str) -> Vec<DelegatedTask> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `retryable` is never read
[INFO] [stdout]   --> src/error_recovery.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |     ProviderError {
[INFO] [stdout]    |     ------------- field in this variant
[INFO] [stdout] ...
[INFO] [stdout] 15 |         retryable: bool,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AgentError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `duration_secs` is never read
[INFO] [stdout]   --> src/error_recovery.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 49 |     TimeoutError {
[INFO] [stdout]    |     ------------ field in this variant
[INFO] [stdout] 50 |         operation: String,
[INFO] [stdout] 51 |         duration_secs: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AgentError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `ToolError`, `SessionError`, `RateLimitError`, `ContextOverflow`, and `SubAgentError` are never constructed
[INFO] [stdout]   --> src/error_recovery.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum AgentError {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 19 |     ToolError {
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     SessionError {
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     RateLimitError {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     ContextOverflow {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     SubAgentError {
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AgentError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `max_attempts` and `base_delay_ms` are never read
[INFO] [stdout]   --> src/error_recovery.rs:59:24
[INFO] [stdout]    |
[INFO] [stdout] 59 |     RetryWithBackoff { max_attempts: u32, base_delay_ms: u64 },
[INFO] [stdout]    |     ----------------   ^^^^^^^^^^^^       ^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RecoveryAction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `keep_last_n` is never read
[INFO] [stdout]   --> src/error_recovery.rs:63:23
[INFO] [stdout]    |
[INFO] [stdout] 63 |     TruncateContext { keep_last_n: usize },
[INFO] [stdout]    |     ---------------   ^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RecoveryAction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `SwitchToFallback`, `DegradedResponse`, `RequestUserInput`, `NoRecovery`, `RestartSession`, and `DelegateToSubAgent` are never constructed
[INFO] [stdout]   --> src/error_recovery.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub enum RecoveryAction {
[INFO] [stdout]    |          -------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 61 |     SwitchToFallback { fallback_name: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     DegradedResponse { message: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 66 |     /// Notify user and wait for input
[INFO] [stdout] 67 |     RequestUserInput { prompt: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 68 |     /// No automatic recovery possible
[INFO] [stdout] 69 |     NoRecovery { reason: String },
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 70 |     /// Restart the session
[INFO] [stdout] 71 |     RestartSession,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 72 |     /// Spawn sub-agent to handle
[INFO] [stdout] 73 |     DelegateToSubAgent { agent_type: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RecoveryAction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ErrorRecovery` is never constructed
[INFO] [stdout]    --> src/error_recovery.rs:153:12
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub struct ErrorRecovery {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `execute_recovery`, and `handle_error` are never used
[INFO] [stdout]    --> src/error_recovery.rs:158:12
[INFO] [stdout]     |
[INFO] [stdout] 157 | impl ErrorRecovery {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] 158 |     pub fn new(max_retries: u32) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub async fn execute_recovery(&self, action: &RecoveryAction) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 205 |     pub async fn handle_error(&self, error: AgentError) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AgentResult` is never constructed
[INFO] [stdout]    --> src/error_recovery.rs:217:12
[INFO] [stdout]     |
[INFO] [stdout] 217 | pub struct AgentResult<T> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `success`, `failure`, and `partial` are never used
[INFO] [stdout]    --> src/error_recovery.rs:225:12
[INFO] [stdout]     |
[INFO] [stdout] 224 | impl<T> AgentResult<T> {
[INFO] [stdout]     | ---------------------- associated functions in this implementation
[INFO] [stdout] 225 |     pub fn success(value: T, context: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 234 |     pub fn failure(error: AgentError, context: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 243 |     pub fn partial(value: T, error: AgentError, context: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `command`, `args`, and `env` are never read
[INFO] [stdout]   --> src/mcp.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 40 | struct McpClientInner {
[INFO] [stdout]    |        -------------- fields in this struct
[INFO] [stdout] 41 |     name: String,
[INFO] [stdout] 42 |     command: String,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 43 |     args: Vec<String>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 44 |     env: HashMap<String, String>,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `name` is never used
[INFO] [stdout]    --> src/mcp.rs:103:12
[INFO] [stdout]     |
[INFO] [stdout]  57 | impl McpClient {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 103 |     pub fn name(&self) -> &str {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `hot` is never read
[INFO] [stdout]   --> src/memory/mod.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct MemoryEngine {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 38 |     hot: RwLock<LruCache<String, MemoryEntry>>,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `store`, `retrieve`, `hot_keys`, and `clear_hot` are never used
[INFO] [stdout]   --> src/memory/mod.rs:60:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | impl MemoryEngine {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub fn store(&self, key: &str, content: &str, metadata: Option<HashMap<String, String>>) -> Result<()> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 80 |     pub fn retrieve(&self, key: &str) -> Option<MemoryEntry> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub fn hot_keys(&self) -> Vec<String> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 98 |     pub fn clear_hot(&self) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `memory_store`, `load`, and `count` are never used
[INFO] [stdout]    --> src/memory/mod.rs:176:12
[INFO] [stdout]     |
[INFO] [stdout] 159 | impl SessionStore {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 176 |     pub fn memory_store(&self) -> &Arc<MemoryStore> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 196 |     pub fn load(&self, session_id: &str) -> Result<Option<SessionHistory>> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 238 |     pub fn count(&self) -> Result<usize> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_override` and `active_sessions` are never used
[INFO] [stdout]    --> src/memory/mod.rs:302:12
[INFO] [stdout]     |
[INFO] [stdout] 257 | impl CodeModeStore {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 302 |     pub fn get_override(&self, session_key: &str) -> Option<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 308 |     pub fn active_sessions(&self) -> Vec<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `load_summaries` is never used
[INFO] [stdout]    --> src/memory/compactor.rs:332:12
[INFO] [stdout]     |
[INFO] [stdout]  87 | impl Compactor {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 332 |     pub fn load_summaries(&self) -> Result<Vec<CompactionSummary>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `timestamp` is never read
[INFO] [stdout]    --> src/memory/store.rs:214:9
[INFO] [stdout]     |
[INFO] [stdout] 210 | pub struct MessageRecord {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 214 |     pub timestamp: i64,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MessageRecord` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_all_session_updated_at` is never used
[INFO] [stdout]     --> src/memory/store.rs:1051:12
[INFO] [stdout]      |
[INFO] [stdout]  267 | impl MemoryStore {
[INFO] [stdout]      | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1051 |     pub fn get_all_session_updated_at(&self) -> Result<std::collections::HashMap<String, u64>> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_enabled` is never used
[INFO] [stdout]   --> src/plugins.rs:91:12
[INFO] [stdout]    |
[INFO] [stdout] 83 | impl PluginManager {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 91 |     pub fn is_enabled(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `provider_type`, `stream`, and `embed` are never used
[INFO] [stdout]   --> src/providers/mod.rs:41:8
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub trait LLMProvider: Send + Sync {
[INFO] [stdout]    |           ----------- methods in this trait
[INFO] [stdout] 40 |     fn name(&self) -> &str;
[INFO] [stdout] 41 |     fn provider_type(&self) -> &str; // e.g., "nvidia", "google", "openai", "anthropic"
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     async fn stream(&self, request: CompletionRequest) -> Result<mpsc::Receiver<StreamChunk>>;
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout] 45 |     async fn embed(&self, text: &str) -> Result<Vec<f32>>;
[INFO] [stdout]    |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `client` is never read
[INFO] [stdout]   --> src/providers/mod.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct ProviderPool {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 52 |     client: Client,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_provider`, `set_active`, `list_providers`, `default_name`, `stream`, and `register_from_global` are never used
[INFO] [stdout]    --> src/providers/mod.rs:90:18
[INFO] [stdout]     |
[INFO] [stdout]  55 | impl ProviderPool {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  90 |     pub async fn add_provider(&self, entry: ProviderEntry) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     pub async fn set_active(&self, name: &str) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |     pub async fn list_providers(&self) -> Vec<ProviderInfo> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 142 |     pub async fn default_name(&self) -> String {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 220 |     pub async fn stream(&self, request: CompletionRequest) -> Result<mpsc::Receiver<StreamChunk>> {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 |     pub async fn register_from_global(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProviderInfo` is never constructed
[INFO] [stdout]    --> src/providers/mod.rs:253:12
[INFO] [stdout]     |
[INFO] [stdout] 253 | pub struct ProviderInfo {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `build_headers` is never used
[INFO] [stdout]    --> src/providers/mod.rs:303:8
[INFO] [stdout]     |
[INFO] [stdout] 268 | impl OpenAICompatibleProvider {
[INFO] [stdout]     | ----------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 303 |     fn build_headers(&self) -> reqwest::header::HeaderMap {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `with_image` and `with_image_url` are never used
[INFO] [stdout]    --> src/providers/mod.rs:600:12
[INFO] [stdout]     |
[INFO] [stdout] 562 | impl Message {
[INFO] [stdout]     | ------------ associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 600 |     pub fn with_image(
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 622 |     pub fn with_image_url(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StreamChunk` is never constructed
[INFO] [stdout]    --> src/providers/mod.rs:686:12
[INFO] [stdout]     |
[INFO] [stdout] 686 | pub struct StreamChunk {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StreamChoice` is never constructed
[INFO] [stdout]    --> src/providers/mod.rs:694:12
[INFO] [stdout]     |
[INFO] [stdout] 694 | pub struct StreamChoice {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StreamDelta` is never constructed
[INFO] [stdout]    --> src/providers/mod.rs:702:12
[INFO] [stdout]     |
[INFO] [stdout] 702 | pub struct StreamDelta {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OpenAICompletion` is never constructed
[INFO] [stdout]    --> src/providers/mod.rs:712:8
[INFO] [stdout]     |
[INFO] [stdout] 712 | struct OpenAICompletion {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OpenAIChoice` is never constructed
[INFO] [stdout]    --> src/providers/mod.rs:721:8
[INFO] [stdout]     |
[INFO] [stdout] 721 | struct OpenAIChoice {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OpenAIMessage` is never constructed
[INFO] [stdout]    --> src/providers/mod.rs:726:8
[INFO] [stdout]     |
[INFO] [stdout] 726 | struct OpenAIMessage {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OpenAIUsage` is never constructed
[INFO] [stdout]    --> src/providers/mod.rs:734:8
[INFO] [stdout]     |
[INFO] [stdout] 734 | struct OpenAIUsage {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `provider_type` and `stream_response` are never used
[INFO] [stdout]   --> src/providers/adapters/mod.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub trait ProviderAdapter: Send + Sync {
[INFO] [stdout]    |           --------------- methods in this trait
[INFO] [stdout] 28 |     fn provider_type(&self) -> &str;
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     async fn stream_response(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `shutdown` is never used
[INFO] [stdout]    --> src/scheduler.rs:237:18
[INFO] [stdout]     |
[INFO] [stdout]  86 | impl CronScheduler {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 237 |     pub async fn shutdown(mut self) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `path` and `is_external` are never read
[INFO] [stdout]   --> src/skills/mod.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub struct Skill {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub path: PathBuf,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 61 |     pub is_external: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Skill` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_file` is never used
[INFO] [stdout]   --> src/skills/mod.rs:89:12
[INFO] [stdout]    |
[INFO] [stdout] 64 | impl Skill {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 89 |     pub fn from_file(path: &std::path::Path) -> Result<Self> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SkillIndexEntry` is never constructed
[INFO] [stdout]    --> src/skills/mod.rs:109:12
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub struct SkillIndexEntry {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LearningLoop` is never constructed
[INFO] [stdout]    --> src/skills/mod.rs:116:12
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub struct LearningLoop {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Experience` is never constructed
[INFO] [stdout]    --> src/skills/mod.rs:122:8
[INFO] [stdout]     |
[INFO] [stdout] 122 | struct Experience {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `record`, `improve`, and `suggest_improvement` are never used
[INFO] [stdout]    --> src/skills/mod.rs:131:12
[INFO] [stdout]     |
[INFO] [stdout] 130 | impl LearningLoop {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 131 |     pub fn new(registry: Arc<SkillRegistry>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 139 |     pub fn record(&self, skill_name: &str, task: &str, success: bool, feedback: &str) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     pub async fn improve(&self) -> Result<Vec<String>> {
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 188 |     async fn suggest_improvement(&self, skill_name: &str, failures: &[&str]) -> Result<String> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AGENTSKILLS_REGISTRY` is never used
[INFO] [stdout]   --> src/skills/registry.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const AGENTSKILLS_REGISTRY: &str = "https://agentskills.io/api/v1/skills";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `view_skill`, `update_skill`, `create_skill`, `scan`, and `list_by_category` are never used
[INFO] [stdout]    --> src/skills/registry.rs:152:12
[INFO] [stdout]     |
[INFO] [stdout]  83 | impl SkillRegistry {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 152 |     pub fn view_skill(&self, name: &str) -> Option<super::Skill> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     pub async fn update_skill(&self, name: &str, body: &str) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 210 |     pub async fn create_skill(&self, name: &str, description: &str, body: &str) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 |     pub async fn scan(&mut self) -> Result<()> {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 276 |     pub async fn list_by_category(&mut self, category: &str) -> Result<Vec<RegistrySkill>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `auto_install` is never used
[INFO] [stdout]    --> src/skills/installer.rs:110:18
[INFO] [stdout]     |
[INFO] [stdout]  15 | impl SkillInstaller {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub async fn auto_install(&mut self, prompt: &str) -> Result<Option<String>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_skill_keywords` is never used
[INFO] [stdout]    --> src/skills/installer.rs:244:4
[INFO] [stdout]     |
[INFO] [stdout] 244 | fn extract_skill_keywords(prompt: &str) -> Vec<String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `COMMON_WORDS` is never used
[INFO] [stdout]    --> src/skills/installer.rs:306:7
[INFO] [stdout]     |
[INFO] [stdout] 306 | const COMMON_WORDS: &[&str] = &[
[INFO] [stdout]     |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `description` and `trigger` are never read
[INFO] [stdout]   --> src/skills/extractor.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub struct ExtractedSkill {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] 61 |     pub name: String,
[INFO] [stdout] 62 |     pub description: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 63 |     pub trigger: ExtractionTrigger,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ExtractedSkill` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `StreamEvent` is never used
[INFO] [stdout]  --> src/streaming/mod.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub enum StreamEvent {
[INFO] [stdout]   |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StreamRequest` is never constructed
[INFO] [stdout]   --> src/streaming/mod.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct StreamRequest {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StreamSession` is never constructed
[INFO] [stdout]   --> src/streaming/mod.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct StreamSession {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `send_token`, and `send_done` are never used
[INFO] [stdout]   --> src/streaming/mod.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl StreamSession {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 34 |     pub fn new(session_id: String, buffer_size: usize) -> (Self, mpsc::Receiver<StreamEvent>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub async fn send_token(&self, content: &str) -> Result<(), mpsc::error::SendError<StreamEvent>> {
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub async fn send_done(&self, message: &str) -> Result<(), mpsc::error::SendError<StreamEvent>> {
[INFO] [stdout]    |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `mode` is never used
[INFO] [stdout]   --> src/tools/approval.rs:84:12
[INFO] [stdout]    |
[INFO] [stdout] 77 | impl ApprovalPolicy {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 84 |     pub fn mode(&self) -> ApprovalMode {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HttpFetchTool` is never constructed
[INFO] [stdout]   --> src/tools/builtin.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct HttpFetchTool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/tools/builtin.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl HttpFetchTool {
[INFO] [stdout]    | ------------------ associated function in this implementation
[INFO] [stdout] 18 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ScriptTool` is never constructed
[INFO] [stdout]   --> src/tools/builtin.rs:55:12
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub struct ScriptTool;
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ParallelTool` is never constructed
[INFO] [stdout]   --> src/tools/builtin.rs:83:12
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub struct ParallelTool;
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ListScheduledJobsTool` is never constructed
[INFO] [stdout]    --> src/tools/builtin.rs:109:12
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub struct ListScheduledJobsTool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tools/builtin.rs:114:12
[INFO] [stdout]     |
[INFO] [stdout] 113 | impl ListScheduledJobsTool {
[INFO] [stdout]     | -------------------------- associated function in this implementation
[INFO] [stdout] 114 |     pub fn new(log: ScheduleRunLog) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_environment` is never used
[INFO] [stdout]   --> src/tools/executor/mod.rs:52:14
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub async fn create_environment(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ExecuteParallelTool` is never constructed
[INFO] [stdout]    --> src/tools/executor/mod.rs:290:12
[INFO] [stdout]     |
[INFO] [stdout] 290 | pub struct ExecuteParallelTool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tools/executor/mod.rs:295:12
[INFO] [stdout]     |
[INFO] [stdout] 294 | impl ExecuteParallelTool {
[INFO] [stdout]     | ------------------------ associated function in this implementation
[INFO] [stdout] 295 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CmdSpec` is never constructed
[INFO] [stdout]    --> src/tools/executor/mod.rs:307:8
[INFO] [stdout]     |
[INFO] [stdout] 307 | struct CmdSpec {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `supports_stdin` and `backend_name` are never used
[INFO] [stdout]   --> src/tools/executor/environment.rs:62:8
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub trait Environment: Send + Sync {
[INFO] [stdout]    |           ----------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 62 |     fn supports_stdin(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     fn backend_name(&self) -> &str;
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `env` is never read
[INFO] [stdout]   --> src/tools/executor/environment.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub struct ExecutionConfig {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 80 |     pub env: HashMap<String, String>,
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ExecutionConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_cwd` is never used
[INFO] [stdout]    --> src/tools/executor/environment.rs:207:12
[INFO] [stdout]     |
[INFO] [stdout] 104 | impl<E: Environment> ExecutionEngine<E> {
[INFO] [stdout]     | --------------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 207 |     pub fn set_cwd(&mut self, cwd: PathBuf) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BASE_SECURITY_ARGS` is never used
[INFO] [stdout]   --> src/tools/executor/docker_env.rs:26:7
[INFO] [stdout]    |
[INFO] [stdout] 26 | const BASE_SECURITY_ARGS: &[&str] = &[
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PRIVDROP_CAP_ARGS` is never used
[INFO] [stdout]   --> src/tools/executor/docker_env.rs:37:7
[INFO] [stdout]    |
[INFO] [stdout] 37 | const PRIVDROP_CAP_ARGS: &[&str] = &[
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DockerEnvironment` is never constructed
[INFO] [stdout]   --> src/tools/executor/docker_env.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub struct DockerEnvironment {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `start`, and `find_docker` are never used
[INFO] [stdout]    --> src/tools/executor/docker_env.rs:59:18
[INFO] [stdout]     |
[INFO] [stdout]  58 | impl DockerEnvironment {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout]  59 |     pub async fn new(
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout]  93 |     pub async fn start(&mut self, host_workspace: &PathBuf) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 169 |     fn find_docker() -> Option<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SshEnvironment` is never constructed
[INFO] [stdout]   --> src/tools/executor/ssh_env.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct SshEnvironment {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `ssh_cmd` are never used
[INFO] [stdout]   --> src/tools/executor/ssh_env.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl SshEnvironment {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 31 |     pub fn new(config: SshEnvConfig, cwd: PathBuf) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     fn ssh_cmd(&self) -> Command {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shell_quote` is never used
[INFO] [stdout]    --> src/tools/executor/ssh_env.rs:119:4
[INFO] [stdout]     |
[INFO] [stdout] 119 | fn shell_quote(s: &str) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_with_timeout` is never used
[INFO] [stdout]   --> src/tools/executor/runtime.rs:18:14
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub async fn run_with_timeout(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ScriptResult` is never constructed
[INFO] [stdout]   --> src/tools/executor/languages.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct ScriptResult {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `LanguageExecutor` is never used
[INFO] [stdout]   --> src/tools/executor/languages.rs:25:11
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub trait LanguageExecutor: Send + Sync {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PythonExec` is never constructed
[INFO] [stdout]   --> src/tools/executor/languages.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct PythonExec {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `validate_imports` are never used
[INFO] [stdout]   --> src/tools/executor/languages.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl PythonExec {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 40 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     fn validate_imports(&self, code: &str) -> Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BunExec` is never constructed
[INFO] [stdout]    --> src/tools/executor/languages.rs:105:12
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub struct BunExec {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `validate_modules` are never used
[INFO] [stdout]    --> src/tools/executor/languages.rs:110:12
[INFO] [stdout]     |
[INFO] [stdout] 109 | impl BunExec {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout] 110 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     fn validate_modules(&self, code: &str) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ShellExec` is never constructed
[INFO] [stdout]    --> src/tools/executor/languages.rs:172:12
[INFO] [stdout]     |
[INFO] [stdout] 172 | pub struct ShellExec;
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tools/executor/languages.rs:175:12
[INFO] [stdout]     |
[INFO] [stdout] 174 | impl ShellExec {
[INFO] [stdout]     | -------------- associated function in this implementation
[INFO] [stdout] 175 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLOCKED_PATTERNS` is never used
[INFO] [stdout]   --> src/tools/executor/sandbox.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const BLOCKED_PATTERNS: &[&str] = &[
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Sandbox` is never constructed
[INFO] [stdout]   --> src/tools/executor/sandbox.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct Sandbox {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_workspace`, `allow`, and `validate` are never used
[INFO] [stdout]   --> src/tools/executor/sandbox.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl Sandbox {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] 27 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn with_workspace(mut self, ws: &str) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn allow(&mut self, cmd: &str) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn validate(&self, cmd: &str) -> Result<()> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Limits` is never constructed
[INFO] [stdout]   --> src/tools/executor/sandbox.rs:72:12
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub struct Limits {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `default_limits` is never used
[INFO] [stdout]   --> src/tools/executor/sandbox.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 78 | impl Limits {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] 79 |     pub fn default_limits() -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SandboxConfig` is never constructed
[INFO] [stdout]   --> src/tools/executor/sandbox.rs:90:12
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub struct SandboxConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `validate_command`, `validate_python`, `validate_js`, `truncate_output`, and `is_within_workspace` are never used
[INFO] [stdout]    --> src/tools/executor/sandbox.rs:132:12
[INFO] [stdout]     |
[INFO] [stdout] 131 | impl SandboxConfig {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] 132 |     pub fn validate_command(&self, code: &str) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |     pub fn validate_python(&self, code: &str) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 152 |     pub fn validate_js(&self, code: &str) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 164 |     pub fn truncate_output(&self, output: &str) -> (String, bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 |     pub fn is_within_workspace(&self, path: &PathBuf) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config_chat_id` is never read
[INFO] [stdout]    --> src/tools/send_message.rs:103:5
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub struct TelegramAdapter {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] 102 |     bot: teloxide::Bot,
[INFO] [stdout] 103 |     config_chat_id: Option<i64>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pdf_to_images` is never used
[INFO] [stdout]    --> src/tools/vision.rs:114:8
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub fn pdf_to_images(path: &Path, out_dir: &Path, pages: Option<&str>) -> anyhow::Result<Vec<std::path::PathBuf>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused implementer of `futures::Future` that must be used
[INFO] [stdout]    --> src/main.rs:479:5
[INFO] [stdout]     |
[INFO] [stdout] 479 |     coordinator_instance.set_cost_aware_delegator(loaded_delegator);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: futures do nothing unless you `.await` or poll them
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 11s
[INFO] running `Command { std: "docker" "inspect" "604f2c29be5d0a6992a9d90c74dcc26bdb62b09e808103cb3ba1fadd06fd4b98", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "604f2c29be5d0a6992a9d90c74dcc26bdb62b09e808103cb3ba1fadd06fd4b98", kill_on_drop: false }`
[INFO] [stdout] 604f2c29be5d0a6992a9d90c74dcc26bdb62b09e808103cb3ba1fadd06fd4b98
